import axios from 'axios'
import { ElMessage } from 'element-plus'
import { getToken } from '@/utils/auth'
import { API_CONFIG } from '@/config'

// 创建专门的品名API请求实例，使用配置系统
const productRequest = axios.create({
    baseURL: API_CONFIG.BASE_URL,
    timeout: 10000
})

// 请求拦截器
productRequest.interceptors.request.use(
    config => {
        // 获取token
        const token = getToken()
        if (token) {
            config.headers['Authorization'] = token
        }
        return config
    },
    error => {
        console.error('请求错误:', error)
        return Promise.reject(error)
    }
)

// 响应拦截器
productRequest.interceptors.response.use(
    response => {
        const { data } = response
        if (data.code === 200 || data.success) {
            return data.data || data
        } else {
            return Promise.reject(new Error(data.msg || data.message || '请求失败'))
        }
    },
    error => {
        console.error('响应错误:', error)
        return Promise.reject(error)
    }
)

// 获取品名列表
export function getProductNameList(params) {
    return productRequest({
        url: API_CONFIG.PRODUCT_NAME_LIST,
        method: 'get',
        params
    })
}

// 新增品名
export function addProductName(data) {
    return productRequest({
        url: API_CONFIG.PRODUCT_NAME_ADD,
        method: 'post',
        data
    })
}

// 更新品名
export function updateProductName(data) {
    return productRequest({
        url: API_CONFIG.PRODUCT_NAME_UPDATE,
        method: 'post',
        data
    })
}

// 删除品名
export function deleteProductName(id) {
    return productRequest({
        url: `${API_CONFIG.PRODUCT_NAME_DELETE}/${id}`,
        method: 'delete'
    })
} 